////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Scene where entities are organized in different vertical and horizontal layers
//
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#include "scenes/Scene.h"
#include "scenes/layerScene/LayerSceneBuffers.h"
#include "scenes/layerScene/LayerSceneResources.h"
#include "scenes/layerScene/LayerSceneSettings.h"
#include "scenes/layerScene/LayerSceneShaders.h"

class LayerScene : public Scene {
	layerScene::Settings mSettings;

	layerScene::ConstantBuffers mConstantBuffers;

	layerScene::Shaders mShaders;

	layerScene::Resources mResources;

public:
	LayerScene();

	void init();

	void draw();
	void destroy();

private:
	void initCamera() const;
	void initPipeline();
};